#ifndef SPARSEMATRIX_POINT_H_
#define SPARSEMATRIX_POINT_H_
#include "Public.h"
template <typename Type>
class Point {

public:

	Point(int x = 0, int y = 0, Type data = 0);
	~Point();

	Status operator=(Point<Type>& point);

	int getX();
	int getY();
	Type getData();

	Status setX(int x);
	Status setY(int y);
	Status setData(Type data);

private:
	int m_iX;
	int m_iY;
	Type m_Tdata;

};


#endif

template<typename Type>
Point<Type>::Point(int x, int y, Type data): m_iX(x),m_iY(y),m_Tdata(data){
}

template<typename Type>
Point<Type>::~Point(){
}

template<typename Type>
Status Point<Type>::operator=(Point<Type>& point)
{
	m_iX = point.getX();
	m_iY = point.getY();
	m_Tdata = point.getData();
	return OK;
}

template<typename Type>
int Point<Type>::getX(){
	return m_iX;
}

template<typename Type>
int Point<Type>::getY(){
	return m_iY;
}

template<typename Type>
Type Point<Type>::getData(){
	return m_Tdata;
}

template<typename Type>
Status Point<Type>::setX(int x){
	m_iX = x;
	return OK;
}

template<typename Type>
Status Point<Type>::setY(int y){
	m_iY = y;
	return OK;
}

template<typename Type>
Status Point<Type>::setData(Type data){
	m_Tdata = data;
	return OK;
}
